/* 
 * Autores:
 *      Jonathan Lopez  11106
 *      Jorge Martínez  11237
 * 
 * Archivo: Util.java
 * Última Revision: $Rev: 37 $
 *      Fecha: $Date: 2011-09-01 06:28:41 +0000 (Thu, 01 Sep 2011) $
 */ 

package Archivador;


/**
 * Contiene algunas funciones útiles para utilizar con el archivador
 * 
 * @author Jonathan López
 * @author Jorge Martinez
 */
public class Util{
    /**
     * Valida una linea generada por guardar() de iArchivable. Para que sea
     * válida esta tiene que tener más de un caracter y ha de estar rodeada
     * por corchetes en ambos extremos. Ejemplo: "[..datos..]"
     * 
     * @param linea linea de texto a evaluar
     * @return true si la linea es válida, false en caso contrario
     * @see iArchivable#guardar() 
     */
    public static boolean validarLinea( String linea ){
        // Revisa que tenga al menos un caracter
        if( linea.length() == 0 )
            return false;
        
        // Revisa que tenga los corchetes iniciales y finales
        if( linea.charAt(0) != '[' )
            return false;
        if( linea.charAt(linea.length()-1) != ']' )
            return false;
        
        return true;
    }
    
    /**
     * Elimina los corchetes que se encuentran a los extremos de una línea
     * generada por guardar() de la interface iArchivable.
     * 
     * @param linea linea a evaluar
     * @return la linea dada sin los corchetes en los extremos, o una cadena
     * vacía ("") si la línea dada no es válida
     */
    public static String eliminarExtremos( String linea ){
        // Valida la linea dada
        if( !validarLinea(linea) )
            return "";
        
        return linea.substring( 1, linea.length() - 1 );
    }
}